package uy.org.softtech.cssuite.excepciones;

import uy.org.softtech.cssuite.core.Excepcion;
import uy.org.softtech.cssuite.entidad.Entidad;

/**
 * Excepcion a ser lanzada cuando un registro en la base de datos no puede ser eliminado.
 * 
 * @author fabian.lobo
 */
public class EntidadNoEliminadaException extends Excepcion {

	private static final long serialVersionUID = 8658178635464913132L;

	/**
	 *  Constructor que inicializa la excepcion con un mensaje por defecto.
	 *  
	 *  @author fabian.lobo
	 */
	public EntidadNoEliminadaException() {
		super(Codigo.ENTIDAD_NO_ELIMINADA, "El registro no pudo ser actualizado.");
	}

	/**
	 * Constructor que inicializa la excepcion con un mensaje dado.
	 *
	 * @param message - Mensaje a ser mostrado.
	 * @author fabian.lobo
	 */
	public EntidadNoEliminadaException(String message) {
		super(Codigo.ENTIDAD_NO_ELIMINADA, message);
	}
	
	/**
	 * Constructor que inicializa la excepcion con una entidad dada.
	 *
	 * @param message - Mensaje a ser mostrado.
	 * @author fabian.lobo
	 */
	public EntidadNoEliminadaException(Entidad entidad) {
		super(Codigo.ENTIDAD_NO_ELIMINADA, "La entidad [" + entidad.toString(true) + "] no pudo ser eliminada.");
	}
}
